//
#ifndef __Character_H__
#define __Character_H__

//#include "Actor.h"
#include "RagDoll.h"

    /**
    *
    */
    class Character : public GameObject
    {
    public:

        Character(SceneManager* sceneMgr);
        ~Character();
		
//		void init(Ogre::Root* root);
        void onKeyDown(const OIS::KeyEvent& e);
        void onKeyUp(const OIS::KeyEvent& e);
        bool frameRenderingQueued(const FrameEvent& evt);
		bool frameStarted(const FrameEvent& evt);
		bool frameEnded(const FrameEvent& evt);

        SkeletonInstance* mSkeleton;
//        RagDoll* mRagDoll;
        void* mRagDoll;
        bool mRagEnabled;

        Real mAnimSpeed;
        Real mWalkSpeed;
        Real mCurrentSpeed;
        Vector3 mTranslateVector;
        Vector3 mDirection;

        bool mJumping;
        bool onGround ();

    //    RaySceneQuery *mRayQuery;

        AnimationState* getAnimState(String name) { return mEntity->getAnimationState(name); }
    };


#endif
